package com.ruoyi.production.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 生产计划对象 plans
 * 
 * @author ruoyi
 * @date 2024-08-02
 */
public class Plans extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 生产计划id */
    private Long plansId;

    /** 日报表id外键 */
    @Excel(name = "日报表id外键")
    private Long reportId;

    /** 工单id外键 */
    @Excel(name = "工单id外键")
    private Long ordersId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String cpName;

    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 计划完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionTime;

    /** 这批货的计划总工时 */
    @Excel(name = "这批货的计划总工时")
    private String plannedTime;

    /** 责任人 */
    @Excel(name = "责任人")
    private String personCharge;

    /** 产品数量 */
    @Excel(name = "产品数量")
    private Long scSum;

    /** 工作进度 */
    @Excel(name = "工作进度")
    private String gzSchedulePercentage;


    /** 已完成数量 */
    @Excel(name = "已完成数量")
    private Long quantityCompleted;

    /** 已完成数量 */
    @Excel(name = "已完成数量")
    private Long totalQuantityCompleted;


    /** 年 */
    @Excel(name = "年")
    private Long   ProductionYear;

    /** 月 */
    @Excel(name = "月")
    private Long   ProductionMonth;


    /** 数量 */
    @Excel(name = "数量")
    private Long TotalProduction;


    private int durationHours;

    public int getDurationHours() {
        return durationHours;
    }

    public void setDurationHours(int durationHours) {
        this.durationHours = durationHours;
    }

    public Long getProductionYear() {
        return ProductionYear;
    }

    public void setProductionYear(Long productionYear) {
        ProductionYear = productionYear;
    }

    public Long getProductionMonth() {
        return ProductionMonth;
    }

    public void setProductionMonth(Long productionMonth) {
        ProductionMonth = productionMonth;
    }

    public Long getTotalProduction() {
        return TotalProduction;
    }

    public void setTotalProduction(Long totalProduction) {
        TotalProduction = totalProduction;
    }

    public Long getTotalQuantityCompleted() {
        return totalQuantityCompleted;
    }

    public void setTotalQuantityCompleted(Long totalQuantityCompleted) {
        this.totalQuantityCompleted = totalQuantityCompleted;
    }

    public String getGzSchedulePercentage() {
        return gzSchedulePercentage;
    }

    public void setGzSchedulePercentage(String gzSchedulePercentage) {
        this.gzSchedulePercentage = gzSchedulePercentage;
    }

    public Long getQuantityCompleted() {
        return quantityCompleted;
    }

    public void setQuantityCompleted(Long quantityCompleted) {
        this.quantityCompleted = quantityCompleted;
    }

    public void setPlansId(Long plansId)
    {
        this.plansId = plansId;
    }

    public Long getPlansId() 
    {
        return plansId;
    }
    public void setReportId(Long reportId) 
    {
        this.reportId = reportId;
    }

    public Long getReportId() 
    {
        return reportId;
    }
    public void setOrdersId(Long ordersId) 
    {
        this.ordersId = ordersId;
    }

    public Long getOrdersId() 
    {
        return ordersId;
    }
    public void setCpName(String cpName) 
    {
        this.cpName = cpName;
    }

    public String getCpName() 
    {
        return cpName;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setCompletionTime(Date completionTime) 
    {
        this.completionTime = completionTime;
    }

    public Date getCompletionTime() 
    {
        return completionTime;
    }
    public void setPlannedTime(String plannedTime) 
    {
        this.plannedTime = plannedTime;
    }

    public String getPlannedTime() 
    {
        return plannedTime;
    }
    public void setPersonCharge(String personCharge) 
    {
        this.personCharge = personCharge;
    }

    public String getPersonCharge() 
    {
        return personCharge;
    }

    public void setScSum(Long scSum)
    {
        this.scSum = scSum;
    }

    public Long getScSum()
    {
        return scSum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("plansId", getPlansId())
            .append("reportId", getReportId())
            .append("ordersId", getOrdersId())
            .append("cpName", getCpName())
            .append("startTime", getStartTime())
            .append("completionTime", getCompletionTime())
            .append("plannedTime", getPlannedTime())
            .append("personCharge", getPersonCharge())
            .append("createTime", getCreateTime())
            .append("scSum", getScSum())
                .append("gzSchedulePercentage", getGzSchedulePercentage())
                .append("quantityCompleted", getQuantityCompleted())
                .append("totalQuantityCompleted",getQuantityCompleted())
                .append("ProductionYear",getProductionYear())
                .append("ProductionMonth",getProductionMonth())
                .append("TotalProduction",getTotalProduction())
            .toString();
    }
}
